
###不登录虚拟机改变虚拟机参数：
virsh命令：    需要安装libvirt-client软件包

virsh setmaxmem web1 1024000 --config       #修改最大内存为1024000KB==1000MB    重启虚拟机生效 
virsh setmem web1 2097152                   #修改实际分配内存                   需要启动虚拟机，且分配的值小于最大内存

###guestmount工具   安装libguestfs-tools-c   把虚拟机目录挂载到真机
在不登陆虚拟机的情况下，修改虚拟机的IP地址信息
guestmount  -d web1 -i /media/virtimage             #把虚拟机web1的文件挂载到真机的这个目录下
echo "192.168.88.88" >>  /media/virtimage/etc/sysconfig/network-scripts/ifcfg-eth0      #添加网卡IP地址

破解虚拟机密码，无密码登陆虚拟机系统
guestmount  -d web1 -i /media/virtimage             #把虚拟机web1的文件挂载到真机的这个目录下               
sed -i "/^root/s/x//" /media/virtimage/etc/passwd   #修改密码    

###显示本机Linux系统上所有开放的端口列表
#从端口列表中观测有没有没用的端口，有的话可以将该端口对应的服务关闭，防止意外的攻击可能性
ss -nutlp |awk '{print $1,$5}' |awk -F"[: ]" '{print "协议:"$1,"端口号:"$NF}' |grep "[0-9]" |uniq

使用 ss -nutlp 获取所有监听的 TCP 和 UDP 套接字的详细信息。
使用 awk 提取协议类型和本地地址及端口号。
使用 awk 再次处理，提取协议类型和端口号，并格式化输出。
使用 grep 过滤掉没有端口号的行。
使用 uniq 去除重复的行。

###启用 Python 的自动补全功能
这个脚本会检查是否存在 /usr/bin/tab.py 文件，如果不存在则创建该文件并添加必要的 Python 代码，然后修改 /etc/profile 文件以设置 PYTHONSTARTUP 环境变量，最后重新加载 /etc/profile 使更改生效。

if  [ ! -f /usr/bin/tab.py ];then
 cat >> /usr/bin/tab.py <<EOF              #创建并写入文件     
import readline
import rlcompleter
readline.parse_and_bind('tab: complete')
EOF                 
fi                                                                          #设置 PYTHONSTARTUP 环境变量，指向 /usr/bin/tab.py 文件
sed  -i '$a export PYTHONSTARTUP=/usr/bin/tab.py' /etc/profile              #'$a'：表示在文件的最后一行追加内容
source /etc/profile                                                         #重新加载 文件

###修改Linux系统的最大打开文件数量
cat >> /etc/security/limits.conf <<EOF
* soft nofile  65536                        #修改最大打开文件数量为65536
* hard nofile  65536
EOF

###配置 rsync 服务，以便通过 rsync 提供文件共享
[ ! -d /home/ftp ] && mkdir /home/ftp               #检查并创建目录
echo 'uid = nobody                                  #设置 rsync 服务运行的用户 ID 为 nobody。
gid = nobody                                        #组 ID 
use chroot = yes                                    #启用 chroot 环境，限制 rsync 服务在指定的目录内运行，增加安全性。
max connections = 4                                 #设置最大并发连接数为 4
pid file = /var/run/rsyncd.pid                      #指定 rsync 服务的 PID 文件路径。
exclude = lost+found/                               #排除 lost+found 目录，不进行同步。
transfer logging = yes                              #启用传输日志记录，记录文件传输的详细信息。
timeout = 900                                       #设置超时时间为 900 秒（15 分钟）。
ignore nonreadable = yes                            #忽略不可读的文件。
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2    #指定不压缩的文件类型，这些文件已经经过压缩，再次压缩没有意义。
[ftp]                                               #模块配置定义一个名为 ftp 的模块。
       path = /home/ftp                             #指定该模块的共享目录为 /home/ftp。
       comment = share' > /etc/rsyncd.conf          #为该模块添加注释，描述其用途。写入配置文件

###获取本机MAC地址
ip a s |awk 'BEGIN{print "本机MAC地址信息如下:"}/^[0-9]/{print $2;getline;if($0~/link\/ether/){print $2}}' |grep -v lo:

